Linux管理

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Linux管理 >

LinuxKit+Moby初体验

来源:互联网  作者:网友投稿  发布时间:2021-01-06 05:30
官网:https://github.com/linuxkit/linuxkit 在Ubuntu 16.04进行测试。 什么是LinuxKit LinuxKit是用于构建最小化定制的,不可改变的...

官网:https://github.com/linuxkit/linuxkit

在Ubuntu 16.04进行测试。

 

什么是LinuxKit

LinuxKit是用于构建最小化定制的,不可改变的linux分发的工具集。

 

安装基础依赖

如果已安装请跳过。

sudo apt-get install -yqq docker.io golang git

 

安装moby

mkdir ~/gopath

export GOPATH=~/gopath

export PATH=${PATH}:${GOPATH}/bin

go get -u github.com/linuxkit/linuxkit/src/cmd/moby

 

构建iso镜像

git clone https://github.com/linuxkit/linuxkit.git

mkdir ~/linuxkitiso/

cp linuxkit/linuxkit.yml ~/linuxkitiso

cd ~/linuxkitiso

sudo moby build linuxkit.yml

根据网络情况等待,提示输出了iso文件没有报错就可以了。

 

启动linuxkit前的准备

运行linuxkit依赖qemu-system,如果没有需要安装一下。

sudo apt-get install qemu-system

 

启动linuxkit镜像

这是一个默认的nginx镜像。

sudo moby run linuxkit

目前有些平台还不支持moby run,那么你也可以如下启动:

sudo ./scripts/qemu.sh linuxkit-initrd.img linuxkit-bzImage linuxkit-cmdline

或者:

./scripts/qemu.sh linuxkit.iso

 

查看一下操作系统类型

/ # cat /etc/*release

3.5.2

NAME="Alpine Linux"

ID=alpine

VERSION_ID=3.5.2

PRETTY_NAME="Alpine Linux v3.5"

HOME_URL=""

BUG_REPORT_URL=""

 

查看进程树

LinuxKit+Moby初体验

 

查看启动的容器

 

测试linuxkit

linuxkit是只读的,所以没办法安装curl,用wget测试。

/ # wget -qO- 127.0.0.1

LinuxKit+Moby初体验

 

linuxkit docker镜像

源码中在examples目录中提供了几个模板,其中docker.yml可以在系统中启动docker,可以一定程度上解决前面linuxkit只读的问题,自行尝试。

mkdir ~/dockeriso/

cp docker.yml ~/dockeriso/

cd ~/dockeriso

moby build docker.yml

moby run docker

注意一点,启动docker系统后,没有doker命令,为毛?因为docker本身就是容器,所以要进入容器才可以使用。

/ # runc exec -t docker sh

/ # docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

槽点:linuxkit和内部容器的prompt行居然一样,啥玩?

 

退出linuxkit

exit

logout

quit

不行,不知道怎么退出,官方文档没找到。暴力拆卸:

pkill -9 -f qemu-system-x86_64

 

定制linuxkit镜像

复制 linuxkit.yml 改名为mylinuxkit.yml,编辑后像前面一样执行构建和启动。

moby build mylinuxkit

moby run mylinuxkit

 

配置项

linuxkit实例中的几个主要配置项如下:

kernel

指定docker镜像的内核,它包含一个内核和一个文件系统的tar包。示例的内核构建在`/kernel`目录中。

init

是一个docker容器的init进程的基础。它将在容器中解压,包含"init"、"containerd"、"runc"及其他几个工具。示例中构建在`pkg/init/`目录中。

onboot

是系统级的容器,按照配置顺序依次运行,执行完后立即结束。如:ntpd,dhcpd

services

是系统级的服务,他们通常在系统启动后适中运行。如:nginx

files

附加到系统中的文件集合。

outputs

输出的镜像文件。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/guanli/11357.shtml

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

LinuxKit+Moby初体验

2021-01-06 编辑:网友投稿

官网:https://github.com/linuxkit/linuxkit

在Ubuntu 16.04进行测试。

 

什么是LinuxKit

LinuxKit是用于构建最小化定制的,不可改变的linux分发的工具集。

 

安装基础依赖

如果已安装请跳过。

sudo apt-get install -yqq docker.io golang git

 

安装moby

mkdir ~/gopath

export GOPATH=~/gopath

export PATH=${PATH}:${GOPATH}/bin

go get -u github.com/linuxkit/linuxkit/src/cmd/moby

 

构建iso镜像

git clone https://github.com/linuxkit/linuxkit.git

mkdir ~/linuxkitiso/

cp linuxkit/linuxkit.yml ~/linuxkitiso

cd ~/linuxkitiso

sudo moby build linuxkit.yml

根据网络情况等待,提示输出了iso文件没有报错就可以了。

 

启动linuxkit前的准备

运行linuxkit依赖qemu-system,如果没有需要安装一下。

sudo apt-get install qemu-system

 

启动linuxkit镜像

这是一个默认的nginx镜像。

sudo moby run linuxkit

目前有些平台还不支持moby run,那么你也可以如下启动:

sudo ./scripts/qemu.sh linuxkit-initrd.img linuxkit-bzImage linuxkit-cmdline

或者:

./scripts/qemu.sh linuxkit.iso

 

查看一下操作系统类型

/ # cat /etc/*release

3.5.2

NAME="Alpine Linux"

ID=alpine

VERSION_ID=3.5.2

PRETTY_NAME="Alpine Linux v3.5"

HOME_URL=""

BUG_REPORT_URL=""

 

查看进程树

LinuxKit+Moby初体验

 

查看启动的容器

 

测试linuxkit

linuxkit是只读的,所以没办法安装curl,用wget测试。

/ # wget -qO- 127.0.0.1

LinuxKit+Moby初体验

 

linuxkit docker镜像

源码中在examples目录中提供了几个模板,其中docker.yml可以在系统中启动docker,可以一定程度上解决前面linuxkit只读的问题,自行尝试。

mkdir ~/dockeriso/

cp docker.yml ~/dockeriso/

cd ~/dockeriso

moby build docker.yml

moby run docker

注意一点,启动docker系统后,没有doker命令,为毛?因为docker本身就是容器,所以要进入容器才可以使用。

/ # runc exec -t docker sh

/ # docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

槽点:linuxkit和内部容器的prompt行居然一样,啥玩?

 

退出linuxkit

exit

logout

quit

不行,不知道怎么退出,官方文档没找到。暴力拆卸:

pkill -9 -f qemu-system-x86_64

 

定制linuxkit镜像

复制 linuxkit.yml 改名为mylinuxkit.yml,编辑后像前面一样执行构建和启动。

moby build mylinuxkit

moby run mylinuxkit

 

配置项

linuxkit实例中的几个主要配置项如下:

kernel

指定docker镜像的内核,它包含一个内核和一个文件系统的tar包。示例的内核构建在`/kernel`目录中。

init

是一个docker容器的init进程的基础。它将在容器中解压,包含"init"、"containerd"、"runc"及其他几个工具。示例中构建在`pkg/init/`目录中。

onboot

是系统级的容器,按照配置顺序依次运行,执行完后立即结束。如:ntpd,dhcpd

services

是系统级的服务,他们通常在系统启动后适中运行。如:nginx

files

附加到系统中的文件集合。

outputs

输出的镜像文件。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/guanli/11357.shtml

相关文章

风云图片

推荐阅读

返回Linux管理频道首页